package in.view.holder; import android.net.Uri; import android.view.View; import android.widget.TextView; import com.nostra13.universalimageloader.core.ImageLoader; import in.data.annotation.CheckinAnnotation; import in.data.annotation.ImageAnnotation; import in.lib.manager.ImageOptionsManager; import in.lib.utils.Views.InjectView; import in.lib.utils.Views.Injectable; import in.lib.view.LinkTouchMovementMethod; import in.model.Post; import in.rob.client.R; import lombok.Getter; @Injectable public class ThreadPostSelectedHolder extends ThreadPostHolder { @Getter @InjectView(R.id.star_count) protected TextView starCount; @Getter @InjectView(R.id.repost_count) protected TextView repostCount; @Getter @InjectView(R.id.reposted_by) protected TextView repostedBy; @Getter @InjectView(R.id.crosspost) protected TextView crosspost; @Getter @InjectView(R.id.checkin) protected TextView checkin; public ThreadPostSelectedHolder(View view) { super(view); } @Override public void populate(Post model) { super.populate(model); repostedBy.setVisibility(View.GONE); crosspost.setVisibility(View.GONE); checkin.setVisibility(View.GONE); postText.setLinkMovementMethod(new LinkTouchMovementMethod(null)); mediaContainer.setVisibility(View.GONE); mediaImage.setImageBitmap(null); optionsContainer.setVisibility(View.VISIBLE); starCount.setText(String.valueOf(model.getStarCount())); repostCount.setText(String.valueOf(model.getRepostCount())); if (model.isRepost()) { repostedBy.setText(String.format("%s %s %s", repostedBy.getResources().getString(R.string.reposted_by), model.getReposter().getFormattedMentionNameTitle(), model.getReposter().getFormattedMentionNameSubTitle())); repostedBy.setVisibility(View.VISIBLE); } if (model.getAnnotations() != null && model.getAnnotations().getCrossposts().size() > 0) { crosspost.setText(String.format("%s %s", repostedBy.getResources().getString(R.string.crosspost), Uri.parse(model.getAnnotations().getCrossposts().get(0).getCanonicalUrl()).getAuthority())); crosspost.setVisibility(View.VISIBLE); } if (model.getAnnotations() != null && model.getAnnotations().getLocations().size() > 0) { if (model.getAnnotations().getLocations().get(0) instanceof CheckinAnnotation) { CheckinAnnotation annotation = (CheckinAnnotation)model.getAnnotations().getLocations().get(0); checkin.setText("Check-in at " + annotation.getName() + (annotation.getAddress() == null ? "" : " " + annotation.getAddress())); checkin.setVisibility(View.VISIBLE); } } ImageLoader.getInstance().cancelDisplayTask(getMediaImage()); if (model.getAnnotations() != null && model.getAnnotations().getImages() != null && model.getAnnotations().getImages().size() > 0) { ImageAnnotation image = (ImageAnnotation)model.getAnnotations().getImages().get(0); ImageLoader.getInstance().displayImage(image.getPreviewUrl(), mediaImage, ImageOptionsManager.getInstance().getCenterPostMediaOptions()); mediaContainer.setVisibility(View.VISIBLE); } } }